#include <vector>
#include <string>
#include "utility_functions.hpp"

std::vector<std::string> commands;

void init_list_of_commands()
{
    commands.push_back("PRINT");
    commands.push_back("GOTO");
    commands.push_back("INPUT");
    commands.push_back("LET");
    commands.push_back("END");
    commands.push_back("REM");
    commands.push_back("DATA");
    commands.push_back("READ");
    commands.push_back("IF");
    commands.push_back("THEN");
    commands.push_back("ELSE");
    commands.push_back("ELSEIF");
    commands.push_back("FOR");
    commands.push_back("TO");
    commands.push_back("NEXT");
    commands.push_back("GOSUB");
    commands.push_back("RETURN");
    commands.push_back("CLS");
    commands.push_back("OPEN");
    commands.push_back("DIM");
    commands.push_back("REDIM");
    commands.push_back("OUTPUT");
    commands.push_back("AS");
    commands.push_back("CLOSE");
    commands.push_back("RESTORE");
    commands.push_back("MAT");
    commands.push_back("GLOBAL");
    commands.push_back("NOMAINWIN"); // Borrowed from Liberty Basic, I know a way to hide a console in Windows
    commands.push_back("WATCH"); // my idea: for debugging: add watch
    commands.push_back("EVERYTHING"); // my idea: for debugging: WATCH EVERYTHING adds all variables to watch
    commands.push_back("UNWATCH"); // my idea: for debugging: remove watch
    return;
}

std::vector<std::string> get_list_of_commands()
{
    return commands;
}

